package java6681.tv;

class  TV6681{
//    表示电视的品牌
    private  String brand;
//    表示电视的当前频道
     int channel;
//    表示节目表
     String[] programs;
    public String getBrand() {
        return brand;
    }
    public void setChannel(int channel) {
        this.channel = channel;
    }
    public int getChannel() {
        return channel;
    }
    public void setPrograms(String[] programs) {
        this.programs = programs;
    }
    public String[] getPrograms(){
        return programs;
    }
//    默认电视品牌为康佳
    public TV6681(){
        brand = "康佳";
    }
//    根据传入的参数初始化电视的品牌
    public TV6681(String brand){
        this.brand = brand;
    }
//    播放当前频道的电视节目
    public void play(){
        if (this.programs != null){
            System.out.println("频道:" + (this.channel+1) + programs[this.channel])  ;
        }else{
            System.out.println("频道:" + (channel+1) + "无信号");
        }
    }
//    将电视的当前频道切换到参数所指的频道，播放该频道的电视节目。
    public void play(int channel){
        this.channel = channel;
        System.out.println("频道:" + (this.channel +1) + programs[this.channel]);
    }
   public String toString(){
        return brand + "电视";
    }
}

public class User6681{
    private TV6681 tv;
    private String name;
    private String tvPrograms[];
    public void setName(String name) { this.name = name; }
    public String getName() { return name; }
    public void setTvPrograms(String tvPrograms[]) {
        this.tvPrograms = tvPrograms;
        this.tv.programs = tvPrograms;
    }
    public User6681(){}
    public User6681(String name){
        this.name = name;
        System.out.println(this.name + "没有电视，买买买");
    }
  public boolean haveTv(){
        return this.tv != null;
    }
//    购买电视后，该客户就拥有一台电视。
    public void buyTV(TV6681 tv){
        this.tv = tv;
        System.out.println(this.name + "有一台" + this.tv.getBrand() + "电视");
    }
//    看当前频道的电视节目
    public void watchTV(){ tv.play(); }
//    将电视的当前频道切换到参数所指的频道，看该频道的节目
    public void watchTV(int channel){
        tv.play(channel -1);
    }
//   当前频道+1，并看新频道的节目。
    public void watchTVUp(){
        if (tv.channel != tvPrograms.length -1){
            tv.channel++;
            tv.play();
        }else{
            tv.channel = 0;
            tv.play(); } }
//    当前频道-1，并看新频道的节目。
    public void watchTVDown(){
        if (tv.channel > 0){
            tv.channel--;
            tv.play();
        }else{
            tv.channel = tvPrograms.length;
        } }

    public static void main(String[] args) {
        User6681 user = new User6681("212006681张舒婷");
        while(!user.haveTv()){
//         如果没有电视，则需要购买电视
            TV6681 tv = new TV6681("长虹");
            user.buyTV(tv);
        }
        user.watchTV();
        String[] programs = {"CCTV-1","国际频道","体育频道","游戏频道","少儿频道"};
        user.setTvPrograms(programs);
        user.watchTV(2);
        user.watchTVDown();
        user.watchTVDown();
        user.watchTVDown();
        user.watchTV(4);
        user.watchTVUp();
        user.watchTVUp();
    }
}
